package com.ruoyi.rsikManage.controller;

import com.ruoyi.rsikManage.service.JyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;

@RequestMapping("rsikManage/dvr")
@RestController
public class DVRController {
    @Autowired
    JyService jyService;

    /**
     * 查询DVR列表
     * @param resource_type 资源类型
     * @param ape_id APE ID
     * @param ape_id_list APE ID列表
     * @param name 名称
     * @param sub_type 子类型
     * @param access_type 访问类型
     * @param producer 生产商
     * @param is_online 是否在线
     * @param org_index 组织索引
     * @param include_child 包含子节点
     * @param owner_aps_id 所有者APS ID
     * @param cascaded_id 级联ID
     * @param page_size 页面大小
     * @param page_num 页码
     * @param ip_addr IP地址
     * @return DVR列表查询结果
     */
    @GetMapping("list")
    public String selectDVRList(@RequestParam String resource_type, String ape_id, String ape_id_list, String name,
                                String sub_type, String access_type, String producer, String is_online, String org_index,
                                String include_child, String owner_aps_id, String cascaded_id, String page_size,
                                String page_num, String ip_addr) {
        return jyService.selectDVRList(resource_type, ape_id, ape_id_list, name, sub_type, access_type, producer,
                is_online, org_index, include_child, owner_aps_id, cascaded_id, page_size, page_num, ip_addr);
    }

    /**
     * 新增DVR
     *
     *
     */
    @PostMapping("add")
    public String addDVR(@RequestBody HashMap param) {
//        param.put("resource_type", "1"); //资源类型
//        param.put("sub_type", "2");//资源子类型
//        param.put("access_type", "");//接入类型，1-私有SDK 2-主动注册 3-Onnvif 4-GB28181
        param.put("org_index", "10"); //组织ID
        param.put("org_name", "本域"); //组织名称
        param.put("place_code", "100000"); //行政区域码，可在平台“字典管理”->“行政区域管理”查询
//        param.put("producer", ""); //厂商
        param.put("sdk_type", 0); //协议类型，0-私有协议
        param.put("channel_num", 0);//通道数量
        param.put("channel_list", new Object[0]);//通道列表
        param.put("channel_report", "1");//自动上报通道
        return jyService.addDVR(param);
    }

    /**
     * 修改DVR
     */
    @PutMapping("update")
    public String updateDVR(@RequestBody HashMap param) {
        return jyService.updateDVR(param);
    }

    /**
     * 删除DVR
     */
    @DeleteMapping("delete")
    public String deleteDVR(@RequestParam String resource_type, @RequestParam String ape_ids) {
        return jyService.deleteDVR(resource_type, ape_ids);
    }

}
